package cn.wen233.srpc.core.service;

import cn.wen233.srpc.basic.rollback.RollbackFactory;

import java.lang.annotation.*;

/**
 * client 标识为代理Service
 *
 * @author wenei
 * @date 2021-10-27 16:57
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.TYPE})
@Documented
public @interface SunglowReference {

    /**
     * 本地配置类型。
     * 如果从注册中心获取则不需要填写
     * @return 本地配置
     */
    Config[] value() default {};

    /**
     * 回滚工厂类型
     * @return 指定Service的回滚实现类型
     */
    Class<?> fallbackFactory() default void.class;
}
